Создавая классы нам все равно понадобиться преобразовывать эти классы к каким то типам. Конечно можно написать свойства и функции, но намного красивее описать преобразование типов прямо в классе. В этом нам может помочь ключевое слово implicit. Смотрим пример.
using System;
class IntString
{
public IntString()
{
i=0;
s="0";
}
public static implicit operator int(IntString m)
{
return i;
}
public static implicit operator string(IntString m)
{
return s;
}
private static int i;
private static string s;
}
class MainClass
{
public static void Main(string[] args)
{
IntString inst=new IntString();
int x;
string s;
x=inst;
s=inst;
Console.Write(x);
Console.Write(" ");
Console.WriteLine(s);
}
}
С помощью ключевого слова implicit мы описали оператор преобразования нашего класса к двум типам string и int.
